package com.sprouting.ops.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 统一文件存储文件分片信息
 * 与原始的 {@link org.dromara.x.file.storage.core.upload.FilePartInfo} 差不多
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2025/2/10 17:44
 */
@Data
@TableName("ops_dromara_part_detail")
public class DromaraPartDetail {

    /**
     * 主键
     */
    @TableId
    private String id;
    /**
     * 存储平台
     */
    private String platform;
    /**
     * 上传ID，仅在手动分片上传时使用
     */
    private String uploadId;
    /**
     * 分片 ETag
     * 相当于这个分片的hash值
     */
    private String eTag;
    /**
     * 分片号。每一个上传的分片都有一个分片号，一般情况下取值范围是1~10000
     */
    private Integer partNumber;
    /**
     * 文件大小，单位字节
     */
    private Long partSize;
    /**
     * 哈希信息
     */
    private String hashInfo;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

}
